package com.jeehentor.generate.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jeehentor.generate.dto.GenModelDTO;
import com.jeehentor.generate.dto.GenerateCodeDTO;
import com.jeehentor.generate.dto.GenerateSqlDTO;
import com.jeehentor.generate.entity.SysGenModel;

import java.sql.SQLException;
import java.util.List;

/**
 * <p>
 * 模型配置主表 服务类
 * </p>
 *
 * @author wzd
 * @since 2024-05-10
 */
public interface ISysGenModelService extends IService<SysGenModel> {

    /**
     * 保存模型
     * @param dto
     */
    void saveModel(GenModelDTO dto);

    /**
     * 修改模型
     * @param dto
     */
    void updateModel(GenModelDTO dto);

    /**
     * 删除模型
     * @param dto
     */
    void delModel(GenModelDTO dto);


    /**
     * 同步数据库
     * @param dto
     * @throws SQLException
     */
    void syncDataBase(GenModelDTO dto) throws SQLException;

    /**
     * 代码生成
     * @param generateCodeDTO
     * @return
     */
    List<String> codeFileGenerator(GenerateCodeDTO generateCodeDTO);

    /**
     * 导入sql
     * @param dto
     */
    void importSql(GenerateSqlDTO dto);

    /**
     * 查询模型
     * @param dto
     * @return
     */
    GenModelDTO selectModelById(GenModelDTO dto);


}
